<?php

namespace app\common\model\order;

use app\common\model\BaseModel;

/**
 * TP Babycar 订单模型
 */
class BabycarOrder extends BaseModel
{
    protected $pk = 'order_id';
    protected $name = 'babycar_order';

    /**
     * 获取订单列表（分页、模糊、状态、时间筛选）
     * @param array $params 查询参数
     * @return array
     */
    public function getList($params)
    {
        $query = $this->newQuery();
        // 模糊查询
        if (!empty($params['keyword'])) {
            $query->where('order_id', 'like', '%' . $params['keyword'] . '%');
        }
        // 状态筛选
        if (!empty($params['status'])) {
            $query->where('status', $params['status']);
        }
        // 时间筛选
        if (!empty($params['start_time'])) {
            $query->where('start_time', '>=', $params['start_time']);
        }
        if (!empty($params['end_time'])) {
            $query->where('start_time', '<=', $params['end_time']);
        }
        // 分页
        $page = !empty($params['page']) ? $params['page'] : 1;
        $limit = !empty($params['limit']) ? $params['limit'] : 10;
        $list = $query->order('created_at', 'desc')->paginate($limit, false, ['page' => $page]);
        return $list;
    }

    /**
     * 获取订单详情
     * @param int $order_id 订单ID
     * @return array|null
     */
    public function getDetail($order_id)
    {
        return $this->where('order_id', $order_id)->find();
    }

    /**
     * 删除订单
     * @param int $order_id 订单ID
     * @return bool
     */
    public function deleteOrder($order_id)
    {
        return $this->where('order_id', $order_id)->delete();
    }
} 